Docker 与 VM 您所在的位置:网站首页 docker 是虚拟机吗 Docker 与 VM

Docker 与 VM

2023-09-27 10:38| 来源: 网络整理| 查看: 265

虚拟机和 Docker 都解决了在不同环境中运行应用程序这一难题。但两者的原因和方法略有不同。

目标

虚拟机最初的设计目的是允许多个操作系统在一台物理机上运行。目标是允许用户创建与底层硬件相隔离的虚拟环境。虚拟机提取出硬件详细信息,以便更轻松地在不同的硬件架构上运行应用程序,并更有效地使用硬件资源。

而 Docker 旨在提供一种轻量级便携方式,以便在隔离且可重现的环境中打包和运行应用程序。Docker 提取出操作系统的详细信息,解决在不同环境(例如开发、测试和生产)中部署应用程序的挑战。在任何地方都能管理软件环境更新和保持环境一致性是非常具有挑战性的。对于运行数百个应用程序或将应用程序分解为数百个微服务的组织而言,尤其如此。Docker 通过容器化解决了这个问题。 

最终产品

Docker 是 Docker 公司拥有和运营的开源容器平台。也有像 Podman 这样的替代平台,尽管它们的使用率远没有这么高;Docker 是容器化的代名词。容器是构件,是最终用户可使用的部分。

而虚拟机本身对最终用户来说就是可用部分。该技术与特定品牌无关。您可以在本地数据中心部署虚拟机,也可以通过 API 将其作为托管云服务进行访问。

架构

虚拟机运行自己的内核和主机操作系统,以及应用程序及其依赖关系,例如库和其他二进制文件。虚拟机监控器在硬件(主机或服务器)和虚拟机之间进行协调。它将实例化过程中概述的物理硬件资源分配给虚拟机供其专用。一台功能强大的服务器上可以运行多个虚拟机,由单个虚拟机监控器管理,每个虚拟机上运行数百个应用程序。

而 Docker 容器中只包含该容器的依赖关系。Docker Engine 软件为 Docker 中的虚拟化提供支持。它提供运行中的容器和底层操作系统(无论是物理机还是虚拟机)之间的协调。

要利用 Docker 进行更高级的虚拟化管理,请使用 Kubernetes。欲了解更多信息,请阅读 Kubernetes 和 Docker 之间的区别?

资源共享

虚拟机和 Docker 容器都使用资源多路复用或在虚拟化实例之间的共享资源。

虚拟机预先向硬件请求特定数量的资源,并且只要虚拟机处于运行状态,就会继续稳步占用该资源。 

而 Docker 容器则根据需要来使用资源。它们不像虚拟机那样要求特定数量的物理硬件资源,而只是从单一操作系统内核请求所需的资源。多个容器共享同一个操作系统。Docker 容器直接与内核共享资源,与虚拟机相比,消耗的系统资源更少。 

安全性

为了实现较少的资源消耗,Docker 容器与主机操作系统共享内核,因此如果内核中存在漏洞,它们就会面临风险。不过,Docker 也提供了许多高级安全控制。

相反,由于虚拟机运行整个操作系统,因此在运行应用程序时会提高隔离级别。只要操作系统采取了严格的安全措施,虚拟机就能提供更高的安全性。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有